package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.ShoppingOrderProduct;
import com.payment.system.vo.ShoppingOrderNumberVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商城订单商品 数据层
 * 
 * @author payment
 * @date 2019-01-22
 */
public interface ShoppingOrderProductMapper 
{
	/**
     * 查询商城订单商品信息
     * 
     * @param id 商城订单商品ID
     * @return 商城订单商品信息
     */
	@DataSource(DataSourceType.SLAVE)
	public ShoppingOrderProduct selectShoppingOrderProductById(String id);
	
	/**
     * 查询商城订单商品列表
     * 
     * @param shoppingOrderProduct 商城订单商品信息
     * @return 商城订单商品集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<ShoppingOrderProduct> selectShoppingOrderProductList(ShoppingOrderProduct shoppingOrderProduct);
	
	/**
     * 新增商城订单商品
     * 
     * @param shoppingOrderProduct 商城订单商品信息
     * @return 结果
     */
	public int insertShoppingOrderProduct(ShoppingOrderProduct shoppingOrderProduct);
	
	/**
     * 修改商城订单商品
     * 
     * @param shoppingOrderProduct 商城订单商品信息
     * @return 结果
     */
	public int updateShoppingOrderProduct(ShoppingOrderProduct shoppingOrderProduct);
	
	/**
     * 删除商城订单商品
     * 
     * @param id 商城订单商品ID
     * @return 结果
     */
	public int deleteShoppingOrderProductById(String id);
	
	/**
     * 批量删除商城订单商品
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteShoppingOrderProductByIds(String[] ids);

	//获取订单商品的  //订单金额 //积分//商品总数量//快递费
	@DataSource(DataSourceType.SLAVE)
    ShoppingOrderNumberVo selectOrderNum(@Param("orderId") String orderId);

    //查询订单商品  根据订单id ，商品id
	@DataSource(DataSourceType.SLAVE)
    ShoppingOrderProduct selectShoppingOrderProductByOrderIdAndProductId(@Param("orderId") String orderId, @Param("productId") String productId);

	//查询订单商品  根据订单id
	@DataSource(DataSourceType.SLAVE)
	List<ShoppingOrderProduct> selectShoppingOrderProductByOrderId(@Param("orderId") String orderId);

}